Dynamic design of user interface elements

ABSTRACT

A user device may receive sensor data relating to one or more physical objects, transmit the sensor data to a server, receive a user profile relating to a user of the device, identify a user interface element corresponding to an application, modify the user interface element based on the user profile, and display the modified user interface element. A server may receive data relating to one or more physical objects, identify the one or more design patterns based on the one or more physical objects, create a user profile, update the user profile, receive application data relating to one or more applications running on a device remote from the server, identify a user interface element corresponding to the one or more applications running on the device, modify the user interface element based on the updated user profile, and transmit the modified user interface element to the device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 15/947,553, filedApr. 6, 2018, the content of which is hereby incorporated by referencein its entirety.

TECHNICAL FIELD

The present disclosure relates generally to methods and systems fordynamically designing user interface elements that may be displayed on auser device.

BACKGROUND

People have varying design preferences for everyday objects and digitaluser interface elements. One person may prefer one type of font in adocument, such as a word document or e-mail, whereas another person mayprefer a different type of font in the same type of document. Otherexamples of design preferences include a preference for round objects,or a preference for objects with sharp edges, or other differentgeometric shapes. In the design and implementation of digital products,designers and programmers must often make design choices before adigital product is released and made available to consumers. Designersand programmers can make informed decisions using for example marketing,sales, or other information, or can use personal experience in making adecision regarding the design of a digital product, but at some pointthe digital product must be prepared and finalized before being madeavailable to a consumer through a display generated by an application,program, or other software.

SUMMARY OF THE DISCLOSURE

Systems and methods described herein may provide for dynamic design ofuser interface elements displayed on a device.

For example, a device configured to dynamically display user interfaceelements on the device may include a processor, a display incommunication with the processor, a wireless transceiver incommunication with the processor, and a non-transitory memory storinginstructions that, when executed by the processor, cause the processorto perform processing including receiving sensor data relating to one ormore physical objects, the data generated by a sensor; transmitting, bythe wireless receiver, the sensor data to a server; receiving, by theprocessor, a user profile relating to a user of the device, the userprofile comprising profile data describing one or more user preferences;identifying a user interface element corresponding to an application,the application running on the device, modifying the user interfaceelement based on the user profile; and displaying, on the display of thedevice, the modified user interface element.

In some embodiments, the processing may further include receivingadditional data relating to one or more second physical objects, theadditional data being received from a second sensor. The processing mayinclude transmitting the additional data to the server and receiving anupdated user profile relating to the user of the device, the updateduser profile comprising updated profile data.

In some embodiments, the user interface element may include a font. Themodifying the user interface element may further include changing thefont to a different font prior to display of the modified user interfaceelement.

In some embodiments, the user interface element may further include oneor more user interface windows, each of the one or more user interfacewindows having one or more first shapes. The processing for modifyingthe one or more user interface windows may further include changing eachof the one or more user interface windows to a second shape differentfrom the first shape.

In some embodiments, the device may further include a sensor. The sensormay be in communication with the processor, and the processor mayreceive the data relating to one or more physical objects from thesensor.

In some embodiments, the profile data of the user profile may be updatedbased on one or more probability deterministic scores before theprocessor receives the user profile. The probability deterministicscores may relate to the one or more user preferences.

As another example, a method for dynamically changing a user interfaceelement on a device may include receiving, by a processor of the device,data relating to one or more physical objects, the data being generatedby a sensor; transmitting, by a wireless transceiver of the device, thedata to a server; receiving, by the processor, a user profile inresponse to transmitting the data to the server, and identifying, by theprocessor, a user interface element corresponding to an applicationrunning on the device; modifying, by the processor, the user interfaceelement based on the updated user profile, and displaying the modifieduser interface element on a display of the device.

In some embodiments, the method may include the displayed modified userinterface element relating to the application running on the device, andthe one or more physical objects in the data describe one or more designpatterns, and the user profile is based on the one or more designpatterns.

In some embodiments, the method may include receiving, by a server, thedata. The method may include identifying, by the server, the one or moredesign patterns in the data, and updating, by the server, the userprofile based on the identified one or more design patterns.

In some embodiments, the method may include receiving, by the processor,additional data relating to one or more second physical objects. Themethod may include the additional data being received from a secondsensor. The method may include identifying one or more second designpatterns in the additional data, the one or more second design patternsbased on the one or more second physical objects, and updating thedesign profile based on the identified one or more second designpatterns.

In some embodiments, the user interface element may include a font. Themethod may include modifying the user interface element by changing thefont to a different font prior to display of the modified user interfaceelement.

In some embodiments, the user interface element can include one or moreuser interface windows with a first shape. The method may includemodifying the user interface element further by changing the one or moreuser interface windows to a second shape.

In some embodiments, the method may include the sensor in the device,and the sensor further includes a camera.

In some embodiments, the method may include updating, by the server, theuser profile based on one or more probability deterministic scores. Themethod may include the probability deterministic scores describing oneor more user preferences.

In some embodiments, the method may include receiving, by the server,additional design data comprising one or more additional designpatterns. The method may include associating, by the server, theadditional design patterns with the user profile, and updating, by theserver, the user profile based on associating the additional designpatterns with the user profile.

In another example, a system for providing dynamic design of userinterface elements may include a server comprising a non-transitorymemory, the memory storing software instructions, and one or moreprocessors configured to execute the software instructions. The softwareinstructions may be configured to receive data relating to one or morephysical objects, the data including one or more design patterns basedon the one or more physical objects; identify the one or more designpatterns based on the one or more physical objects; create a userprofile, the user profile corresponding to a user; update the userprofile, the updated user profile based on the one or more designpatterns identified based on the one or more physical objects; receiveapplication data relating to one or more applications running on adevice remote from the server; identify a user interface elementcorresponding to the one or more applications running on the device;modify the user interface element based on the updated user profile; andtransmit the modified user interface element to the device. The systemmay include instructions for causing the modified user interface elementto be displayed on a screen of the device, the device running the one ormore applications when the modified user interface element is displayed.

In some embodiments, the software instructions may be further configuredto receive additional data relating to one or more additional physicalobjects, the additional data including one or more additional designpatterns based on the one or more additional physical objects, and theone or more additional design patterns being different from the one ormore design patterns. The software instructions may be configured toidentify the one or more additional design patterns based on the one ormore additional physical objects. The software instructions may beconfigured to update the user profile based on the one or moreadditional design patterns.

In some embodiments, the user interface element can include a font. Thesoftware instructions may be further configured to modify the userinterface element to change the font to a different font.

In some embodiments, the user interface element can include one or moreuser interface windows with a first shape. The software instructions maybe further configured to modify the user interface element to change theone or more user interface windows to a second shape.

In some embodiments, the software instructions may be further configuredto receive additional application data relating to one or moreapplications running on a device remote from the server. The softwareinstructions may be further configured to identify an additional userinterface element corresponding to the one or more applications runningon the device, and modify the additional user interface element based onthe updated user profile, the updated user profile being updated basedon the one or more additional design patterns. The software instructionsmay be further configured to transmit the modified additional userinterface element to the device.

In some embodiments, the software instructions may be further configuredto compare the updated user profile to a second user profile, the seconduser profile being different from the updated user profile. The softwareinstructions may be further configured to update the updated userprofile based on comparing the updated user profile to the second userprofile.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a user device and a server device according to anembodiment of the present disclosure.

FIG. 2 shows a user device according to an embodiment of the presentdisclosure.

FIG. 3 shows a server device according to an embodiment of the presentdisclosure.

FIGS. 4A and 4B show a user device with a modified user interfaceaccording to an embodiment of the present disclosure.

FIGS. 5A and 5B show a user device with additional modifications to itsuser interface according to an embodiment of the present disclosure.

FIGS. 6A and 6B show a user device with additional modifications to itsuser interface according to an embodiment of the present disclosure.

FIG. 7 shows a dynamic user interface modification process according toan embodiment of the present disclosure.

FIG. 8 shows a user registration and dynamic user interface modificationprocess according to an embodiment of the present disclosure.

FIG. 9 shows a sensor data collection and dynamic user interfacemodification process according to an embodiment of the presentdisclosure.

DETAILED DESCRIPTION OF SEVERAL EMBODIMENTS

Reference will now be made in detail to exemplary embodiments of thepresent disclosure, examples of which are illustrated in theaccompanying drawings and described herein. In the drawings, likereference numerals are sometimes used to designate like structuralelements. It should also be appreciated that the depictions in thefigures are diagrammatic and not to scale.

The present disclosure relates generally to methods and systems fordynamically designing user interface elements that may be displayed on auser device to reflect a user's personality or other design choicesautomatically, without a user having to select or configure particulardesign choices. The personalized design elements may be part of deviceinterface (e.g., operating system specific) or one or more applicationsetc. executed on the device (e.g., application specific).

A user device can be for example a smartphone, and may include a dynamicdesign service for communicating with an operating system or anapplication running on the device and causing changes to user interfaceelements in the display of a user interface of the user device. In someembodiments, a server in communication with the user device may includethe dynamic design service, such that the dynamic design service maysend requests to the user device to change user interface elementsdisplayed by an application or the operating system. In otherembodiments, the user device may include the dynamic design service, andthe service may cause changes to user interface elements and userinterfaces of the user device.

A user profile may be created and stored on a user device or on aserver. The user profile may be updated based on design preferencesdetected within data, for example an image of the user's home, vehicle,or clothing, and the image may come from various sources, such as aphoto or video captured by the user device or by an image sent to aserver from the user device. Thus, in some embodiments, a user may beable to visualize one or more personalized interface elements on his/herdevice that are determined based on the user's aesthetic design choices,personality, mood or on a whim, which may be determined based onhistorical image data or dynamically in real-time. For example, a usermay request to have one or more interface elements dynamically updatedbased on an automatic and in real-time interpretation of a furniturestyle, car style, piece of art, etc. that may be captured in an imageusing the device or otherwise represented in an image or other sensoryinput. The user profile may include design preferences, and the designpreferences may be updated based upon design preferences identified indata, for example image data. The user design preferences may bedetermined using one or more various image analysis or machine learningtechniques. In this manner, a user does not need to manually customizeor alter the appearance of a user interface element of their user devicebecause the dynamic design service, as discussed herein, may implementdynamic design changes to the user interface of the user device. Thus,the present disclosure provides technological improvements to computertechniques that may require a user to select a particular interfacedesign etc. The technological solutions discussed herein includedynamically (and automatically) designing a user interface and userinterface elements based on computer analysis of received sensory input.

FIG. 1 shows a network for creating and managing user profiles forpurposes of generating a dynamic user interface according to anembodiment of the present disclosure. The network may exist in thecontext of user device 102 attempting to display an application on auser interface. User device 102 may be a smartphone, tablet, laptopcomputer, desktop computer, or other device configured to displayinformation on a screen. User device 102 may send user data to serverdevice 104 by network 100, for example the Internet or another publicnetwork, private network, or combination thereof. Server device 104 maybe a server configured to create a user account, where the user accountis stored in memory, for example a user profile database 108. The useraccount may have various attributes associated with the user profile,including for example a name, an application that runs on the userdevice 102, and design attributes that can be modified over time basedon data received from user device 102 or from other sources. Serverdevice 104 also includes a dynamic design service 106 that containslogic for generating a dynamic user interface based on a user profilestored in user profile database 108. The dynamic design service 106 cangenerate dynamic user interfaces based on attributes stored in the userprofile. Server device 104 is depicted as a single server, including asingle dynamic design service 106 and user profile database 108 forpurposes of illustration, but those of ordinary skill in the art willappreciate that server device 104 may be embodied in different forms fordifferent implementations. For example, server device 104 may include aplurality of servers.

User device 102 may send user data to server device 104, and serverdevice 104 may process the user data, which may be for example a requestto display a web page, and/or to decide whether to process the requestin a typical manner, or to process the request through dynamic designservice 106. The user data may include data describing the userinterface that an application or other software running on user device102 is attempting to display. For example, the user data may indicatethat the user is attempting to access an application (“app”) running onuser device 102, or that the user is attempting to view a website via abrowser app running on user device 102.

While the network shown in FIG. 1 shows the user device 102 incommunication with server device 104 through network 100, otherarrangements are possible. For example, the logic for server device 104,including dynamic design service 106 and user profile database 108, canbe stored on user device 102 itself, such that user device 102 does notneed to access network 100 in order to obtain data regarding a userprofile and/or to access dynamic design service 106. In someembodiments, user device 102 can communicate with server device 104 overa local network, such as a home network, and in other embodiments, userdevice 102 can communicate with server device 104 over the Internet.

The dynamic design service 106 logic may differ depending on whether thelogic is located on a user device 102 or on a server device 104. Forexample, if the dynamic design service is located on a user device, thedynamic design service may include logic for communicating with an app,for example through an application programming interface (API), and sendrequests to modify user interface elements to the app. In otherembodiments where the dynamic design service is located on a userdevice, the service may modify user interface elements based onrequest(s) received from a server. The dynamic design service may alsobe implemented to communicate with an operating system of the userdevice, or communicate with apps installed on the user device. In someembodiments, the dynamic design service may be implemented as part of anapp that can be used to directly control the user interface of the app.In other embodiments, the dynamic design service may be implemented atthe system level, such that an app installed and running on the userdevice can communicate with the service through, for example, systemcalls.

In some embodiments, user device 102 may include user data, for exampletransaction data, that may be used by server device 104 to update a userprofile, including design preferences associated with a user profile,based on the user data received from user device 102. For example, thisdata may include data identifying user device 102 and/or data describingthe transaction (e.g., item purchased).

FIG. 2 shows a block diagram of an example computing device, for examplea computing device configured to function as user device 102. Forexample, user device 102 may interact with server device 104 to gatherdata about a user, including a user profile and/or various attributesassociated with the user profile, as described herein. The user device102 may include a memory interface 202, one or more data processors,image processors, and/or central processing units 204 (CPU), and aperipherals interface 206. The memory interface 202, the one or moreprocessors 204, and/or the peripherals interface 206 may be separatecomponents or may be integrated in one or more integrated circuits. Thevarious components in the user device 102 may be coupled by one or morecommunication buses or signal lines.

Sensors, devices, and subsystems may be coupled to the peripheralsinterface 206 to facilitate multiple functionalities. For example, amotion sensor 210, a light sensor 212, and a proximity sensor 214 may becoupled to the peripherals interface 206 to facilitate orientation,lighting, and proximity functions. Other sensors 216 may also beconnected to the peripherals interface 206, such as a global navigationsatellite system (GNSS) (e.g., GPS receiver), a temperature sensor, abiometric sensor, magnetometer, or other sensing device, to facilitaterelated functionalities.

A camera subsystem 220 and an optical sensor 222, for example a chargedcoupled device (CCD) or a complementary metal-oxide semiconductor (CMOS)optical sensor, may be utilized to facilitate camera functions, such asrecording photographs and video clips. The camera subsystem 220 and theoptical sensor 222 may be used to collect images of a user to be usedduring authentication of a user, e.g., by performing facial recognitionanalysis. The camera subsystem 220 and the optical sensor 222 may alsobe used to collect images of a user environment, for example theinterior and/or exterior of a vehicle or a home, including objectslocated within such environments.

Communications may be facilitated through one or more wired and/orwireless communication subsystems 224, which can include radio frequencyreceivers and transmitters and/or optical receivers and transmitters.For example, the Bluetooth (e.g., Bluetooth low energy (BTLE)) and/orWiFi communications described herein may be handled by wirelesscommunication subsystems 224. The specific design and implementation ofthe communication subsystems 224 may depend on the communicationnetwork(s) over which the user device 102 is intended to operate. Forexample, the user device 102 may include communication subsystems 224designed to operate over a GSM network, a GPRS network, an EDGE network,a WiFi or WiMax network, and a Bluetooth network. For example, thewireless communication subsystems 224 may include hosting protocols suchthat the device 120 can be configured as a base station for otherwireless devices and/or to provide a WiFi service.

An audio subsystem 226 may be coupled to a speaker 228 and a microphone230 to facilitate voice-enabled functions, such as speaker recognition,voice replication, digital recording, and telephony functions. The audiosubsystem 226 may be configured to facilitate processing voice commands,voiceprinting, and voice authentication, for example.

The I/O subsystem 240 may include a touch-surface controller 242 and/orother input controller(s) 244. The touch-surface controller 242 may becoupled to a touch surface 246. The touch surface 246 and touch-surfacecontroller 242 may, for example, detect contact and movement or breakthereof using any of a plurality of touch sensitivity technologies,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith the touch surface 246.

The other input controller(s) 244 may be coupled to other input/controldevices 248, such as one or more buttons, rocker switches, mouse wheel,infrared port, USB port, and/or a pointer device such as a stylus. Theone or more buttons (not shown) may include a button for volume controlof the speaker 228 and/or the microphone 230.

In some implementations, a pressing of the button for a first durationmay disengage a lock of the touch surface 246; and a pressing of thebutton for a second duration that is longer than the first duration mayturn power to the user device 102 on or off. Pressing the button for athird duration may activate a voice control, or voice command, modulethat enables the user to speak commands into the microphone 230 to causethe device to execute the spoken command. The user may customize afunctionality of one or more of the buttons. The touch surface 246 can,for example, also be used to implement virtual or soft buttons and/or akeyboard.

In some implementations, the user device 102 may present recorded audioand/or video files, such as MP3, AAC, and MPEG files. In someimplementations, the user device 102 may include the functionality of anMP3 player. The user device 102 may, therefore, include a 36-pinconnector and/or 8-pin connector that is compatible with the iPod. Otherinput/output and control devices may also be used.

The memory interface 202 may be coupled to memory 250. The memory 250may include high-speed random access memory and/or non-volatile memory,such as one or more magnetic disk storage devices, one or more opticalstorage devices, and/or flash memory (e.g., NAND, NOR). The memory 250may store an operating system 252, such as Darwin, RTXC, LINUX, UNIX, OSX, WINDOWS, or an embedded operating system such as VxWorks. Theoperating system 252 may also be a mobile operating system, such asAndroid or iOS, when user device 102 is a mobile phone, tablet, or otherdevice running operating system software designed for mobileapplications.

The operating system 252 may include instructions for handling basicsystem services and for performing hardware dependent tasks. In someimplementations, the operating system 252 may be a kernel (e.g., UNIXkernel). In some implementations, the operating system 252 may includeinstructions for performing voice authentication.

FIG. 3 is a block diagram of an example server device 104 that mayimplement various features and processes as described herein. The serverdevice 104 may be implemented on any electronic device that runssoftware applications derived from compiled instructions, includingwithout limitation personal computers, servers, smartphones, mediaplayers, electronic tablets, game consoles, email devices, etc. In someimplementations, the server device 104 may include one or moreprocessors 302, one or more input devices 304, one or more displaydevices 306, one or more network interfaces 308, and one or morecomputer-readable mediums 310. Each of these components may be coupledby bus 312. While server device 104 is shown as a separate device fromuser device 102, various elements shown in FIG. 3, for example operatingsystem 314, network communications 316, dynamic design service 318, andapplication(s) 320, can all run on user device 102, including the deviceshown in FIG. 2.

Display device 306 may be any known display technology, including butnot limited to display devices using Liquid Crystal Display (LCD) orLight Emitting Diode (LED) technology. Processor(s) 302 may use anyknown processor technology, including but not limited to graphicsprocessors and multi-core processors. Input device 304 may be any knowninput device technology, including but not limited to a keyboard(including a virtual keyboard), mouse, track ball, and touch-sensitivepad or display. Bus 312 may be any known internal or external bustechnology used for exchanging communications, for example ISA, EISA,PCI, PCI Express, NuBus, USB, Serial ATA and FireWire. Computer-readablemedium 310 may be any medium that participates in providing instructionsto processor(s) 302 for execution, including without limitation,non-volatile storage media, such as optical disks, magnetic disks, flashdrives, etc., or volatile media, such as SDRAM and ROM.

Computer-readable medium 310 may include various instructions 314 forimplementing an operating system (e.g., Mac OS, Windows, Linux). Theoperating system may be multi-user, multiprocessing, multitasking,multithreading, real-time, and the like. The operating system mayperform basic tasks, including but not limited to recognizing input frominput device 304, sending output to display device 306, keeping track offiles and directories on computer-readable medium 310, controllingperipheral devices (e.g., disk drives, printers, etc.) which can becontrolled directly or through an I/O controller, and managing trafficon bus 312. Network communications instructions 316 may establish andmaintain network connections (e.g., software for implementingcommunication protocols, such as TCP/IP, HTTP, Ethernet, telephony,etc.).

Dynamic design service 318 can include instructions that evaluate userrequests to display a user interface as described herein. For example,dynamic design service instructions may analyze a user request todisplay a user interface, access a user profile, and apply rules and/orlogic that may modify a user interface to be displayed in a manner thatis more preferable to a user, based at least in part on the user'sprofile.

Application(s) 320 may be an application that uses or implements theprocesses described herein and/or other processes. The processes mayalso be implemented in operating system 314.

The described features may be implemented in one or more computerprograms that may be executable on a programmable system including atleast one programmable processor coupled to receive data andinstructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program may be written in anyform of programming language, for example Objective-C, Java, Swift, andC++, and it may be deployed in any form, including as a stand-aloneprogram or as a module, component, subroutine, or other unit suitablefor use in a computing environment.

Suitable processors for the execution of a program of instructions mayinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors orcores, of any kind of computer. Generally, a processor may receiveinstructions and data from a read-only memory or a random access memoryor both. The essential elements of a computer may include a processorfor executing instructions and one or more memories for storinginstructions and data. Generally, a computer may also include, or beoperatively coupled to communicate with, one or more mass storagedevices for storing data files; such devices include magnetic disks,such as internal hard disks and removable disks; magneto-optical disks;and optical disks. Storage devices suitable for tangibly embodyingcomputer program instructions and data may include all forms ofnon-volatile memory, including by way of example semiconductor memorydevices, such as EPROM, EEPROM, and flash memory devices; magnetic diskssuch as internal hard disks and removable disks; magneto-optical disks;and CD-ROM and DVD-ROM disks. The processor and the memory may besupplemented by, or incorporated in, ASICs (application-specificintegrated circuits).

To provide for interaction with a user, the features may be implementedon a computer having a display device such as a LCD (liquid crystaldisplay) monitor, or other display devices, such as a CRT (cathode raytube), for displaying information to the user, and a keyboard and apointing device such as a mouse or a trackball by which the user canprovide input to the computer.

The features may be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combinationthereof. The components of the system may be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, e.g., a telephone network, aLAN, a WAN, and the computers and networks forming the Internet. Thecomputer system may include clients and servers. A client and server maygenerally be remote from each other and may typically interact through anetwork. The relationship of client and server may arise by virtue ofcomputer programs running on the respective computers and having aclient-server relationship to each other.

One or more features or steps of the disclosed embodiments may beimplemented using an API. An API may define one or more parameters thatare passed between a calling application and other software code (e.g.,an operating system, library routine, function) that provides a service,that provides data, or that performs an operation or a computation. TheAPI may be implemented as one or more calls in program code that send orreceive one or more parameters through a parameter list or otherstructure based on a call convention defined in an API specificationdocument. A parameter may be a constant, a key, a data structure, anobject, an object class, a variable, a data type, a pointer, an array, alist, or another call. API calls and parameters may be implemented inany programming language. The programming language may define thevocabulary and calling convention that a programmer will employ toaccess functions supporting the API. In some implementations, an APIcall may report to an application the capabilities of a device runningthe application, such as input capability, output capability, processingcapability, power capability, communications capability, etc.

FIGS. 4A and 4B show a user device 102 and an application running onuser device 102. In both figures, the running application is an e-mailapplication, and the user device 102 is a mobile device, such as asmartphone. In other embodiments, the application running on user device102 could be a word processor, browser, or other application, and theuser device 102 could be a tablet, laptop computer, desktop computer, orother computing device.

As shown in FIG. 4A, an e-mail application user interface is displayedon the display of user device 102. An e-mail application may allow auser to view an inbox (“Inbox”) containing e-mails sent to the user ofuser device 102, as shown in FIG. 4A. In other embodiments, the e-mailapplication may present a “Sent” user interface containing e-mails thatthe user of user device 102 has sent to one or more intended recipients,or the e-mail application may present a “Draft” user interfacecontaining e-mails that the user of user device 102 has begun drafting,but has not yet sent to one or more intended recipients. The Inbox, asshown in the user interface of device 102, includes four messages,message 402, message 404, message 406, and message 408. Each of message402, message 404, message 406, and message 408 are displayed using atemplate that includes a particular font, font size, or font weight.Each of the messages shown are displayed using the same font, font size,and font weight, although the information specific to the e-mail maydiffer, including for example the date of receipt of the e-mail, thesubject line of the e-mail, and the sender of the e-mail.

An embodiment of the user interface of the e-mail application is shownin FIG. 4B. FIG. 4B shows a similar e-mail application, including anInbox and various messages (message 410, message 412, message 414, andmessage 416). One difference shown in FIG. 4B is the user interface ofthe e-mail application, including message 410, message 412, message 414,and message 416, are displayed using a different font than the font usedto display Inbox and message 402, message 404, message 406, and message408 shown in FIG. 4A.

The dynamic design service 106 of server device 104 may be configured,for example, to cause a different font to be used for the Inbox text andmessage 410, message 412, message 414, and message 416. The dynamicdesign service 106 has access to a user profile stored in user profiledatabase 108, and analyzes the user profile to determine one or moreattributes relating to the user profile. For example, the user profilemay store one or more attributes relating to a design preference. In thecontext of FIG. 4B, the design preference may relate to a type of font,including the type of font for applications involving e-mail. The serverdevice 104 can generate a user interface using the design preference,such as the user interface shown in FIG. 4B showing text displayed usinga type of font, or alternatively can send information relating to thedesign preference attribute(s) back to the user device 102, which canthen generate and present a user interface using the design preference,such as the user interface shown in FIG. 4B showing text displayed usinga type of font.

One example of a dynamic change in a user interface element based on auser design preference is the use of a different type of font, as shownin FIGS. 4A and 4B. A person of ordinary skill in the art wouldappreciate that different types of dynamic changes in user interfaceelements are possible, including changing the font size and the fontappearance (e.g., underlined, italicized, or bolded). Further, dynamicchanges in user interface elements are not limited to a change relatingto a font. Dynamic changes to user interface elements can for examplerelate to the appearance of a window itself, as shown in further detailin FIGS. 5A and 5B.

FIGS. 5A and 5B show a user device 102 that has multiple windowsdisplayed. In FIG. 5A, window 502, window 504, and window 506 aredisplayed on the user interface of user device 102, and in FIG. 5B,window 508, window 510, and window 512 are displayed on the userinterface of user device 102. The windows displayed in both FIGS. 5A and5B can all be related to the same application, or can relate todifferent applications. Some embodiments include each window relating toa separate instance of a browser running on the user device 102, forexample if a user were to open new windows while using the browser. Inanother embodiment, each window relates to a different application, forexample a browser application, an e-mail application, and a gameapplication. These are specific examples of multiple windows running inan environment of the user device 102, and the disclosure should not belimited to any particular combination of running applications andwindows. In both FIGS. 5A and 5B, the user device 102 is a mobiledevice, such as a smartphone. In other embodiments, the user device 102could be a tablet, laptop computer, desktop computer, or other computingdevice.

As shown in FIG. 5A, a user interface is displayed on the display ofuser device 102, and three windows, window 502, window 504, and window506, are displayed. Each of window 502, window 504, and window 506 aredisplayed using a template that specifies a particular size and shape.In certain embodiments, the user of the user device 102 can re-size anyof window 502, window 504, and window 506, to have different dimensions,or may select the general area relating to window 502 or window 504 tocause the respectively selected window corresponding to the areaselected to be brought to the front of the user interface. In the caseof FIG. 5A, each of window 502, window 504, and window 506 contain sharpedges.

An embodiment of the user interface is shown in FIG. 5B. FIG. 5B shows asimilar user interface, including multiple windows (window 508, window510, and window 512). One difference shown in FIG. 5B is the userinterface windows, including window 508, window 510, and window 512, aredisplayed using soft edges, rather than the sharp edge used to displaywindow 502, window 504, and window 506 in FIG. 5A.

The dynamic design service 106 of server device 104 may be configured,for example, to change the characteristics of each of window 502, window504, and window 506. The dynamic design service 106 has access to a userprofile stored in user profile database 108, and analyzes the userprofile to determine one or more attributes relating to the userprofile. For example, the user profile may store one or more attributesrelating to a design preference. In the context of FIG. 5B, the designpreference may relate to a softening of the edges of user interfacewindows. The server device 104 can generate a user interface using thedesign preference, such as the user interface shown in FIG. 5B showingeach of window 508, window 510, and window 512 having soft edges, oralternatively can send information relating to the design preferenceattribute(s) back to the user device 102, which can then generate andpresent a user interface using the design preference, such as the userinterface shown in FIG. 5B each of window 508, window 510, and window512 having soft edges.

One example of a dynamic change in a user interface element based on auser design preference is the use of a different shape for a userinterface window, as shown in FIGS. 5A and 5B. A person of ordinaryskill in the art would appreciate that different types of dynamicchanges in user interface elements are possible, including changing thecolor scheme of a user interface window, or changing the shape of a userinterface window in a manner different from the examples shown in FIGS.5A and 5B. For example, the edges could be softened less than what isshown in FIG. 5B, or alternatively the edges could be softened more thanwhat is shown in FIG. 5B.

The user device 102 shown in FIG. 6A and FIG. 6B provides an additionalexample of dynamically designing the user interface of a screen of theuser device. In FIG. 6A, a user interface is displayed, and may includean application running on the user device 102, such as a stopwatchapplication. The application's user interface may include a ‘Start’ softbutton 602 and a ‘Stop’ soft button 604, where selecting the ‘Start’button may start the stopwatch (i.e., the time elapsed may start todisplay seconds, minutes, and hours), and selecting the ‘Stop’ buttonmay stop the stopwatch (i.e., the time elapsed may no longer increase).In the user interface shown in FIG. 6A, the Start button 602 and Stopbutton 604 have sharp edges. In some embodiments, the applicationdefaults to displaying button elements with sharp edges.

FIG. 6B shows a similar user interface to that shown in FIG. 6A, exceptthat Start button 606 and Stop button 608 may include soft, roundededges. In some embodiments, the dynamic design service 106 may beconfigured to modify the user elements corresponding to the Start button606 and Stop button 608 prior to those elements being displayed on theuser interface shown in FIG. 6B.

FIG. 7 shows a dynamic user interface modification process according toan embodiment of the present disclosure. User device 102 may performcertain steps of the process shown in FIG. 7, and server device 104 mayperform other certain steps of the process shown in FIG. 7, for example.

At step 702, the user device 102 receives data from a sensor. The sensorcould be any of the sensors disclosed in FIG. 2, including motion sensor210, light sensor 212, proximity sensor 214, or other sensor(s) 216,that are capable of capturing information. In some embodiments, the datacan be media such as a photograph or a video. The media can be obtainedfrom a sensor and/or from camera subsystem 220 and optical sensor 222.In other embodiments, the user device 102 may receive data from anothersource, for example an image downloaded from the Internet, or an imagesent by a contact through an e-mail or messages application. The userdevice 102 may receive data from other sources as well.

At step 704, a device (e.g., user device 102) transmits the sensor datato a server (e.g., server device 104). In this process, the sensor datamay be sent from a user device to a server device through a network, forexample the Internet, and in a manner consistent with the structure ofFIG. 1. In other embodiments, this step may not be necessary, forexample if the dynamic design service logic is stored on the user device102. In such an embodiment, the user device itself contains thenecessary logic to generate or analyze a user profile and dynamicallyupdate a user interface element that is displayed on the screen of theuser device, and communication with a remote server is not necessary. Insome embodiments, a user can select data, including images, presented tothe user by a server through the Internet. The server can present imagesrepresenting different style preferences to the user, and based on theuser's selection of one or more images, the server can process theselected images based upon methods and processes described herein todetermine one or more aspects of user profile.

At step 706, the dynamic design service 106/318 analyzes the sensor datato identify any design patterns in the data. In some embodiments, thesensor data comprises an image or images of objects found in anenvironment, such as a vehicle or a home. Using a home environment as anexample, the sensor data (e.g., a photograph or video) may contain wallart that includes text displayed in a type of font. In some embodiments,the dynamic design service analyzes the sensor data and identifies thewall art, including the text displayed in a type of font. The dynamicdesign service can then use this design preference and create anassociation between the type of font identified from the wall art with atype of font that is used in user interfaces for a user device (e.g.,user device 102). As another example, the home environment may containfurniture, where the furniture has soft, rounded edges. The dynamicdesign service may determine this characteristic of the furniture, andmay in response change a user interface object, for example a softbutton, such that the button has soft, rounded edges. In otherembodiments, the dynamic design service may determine that sensor datacontains wall art, and that the wall art is associated with a preferencefor modern art. The dynamic design service may select a font that isassociated with the modern art style of the wall art. A user may havevarious design preferences that can be exhibited in various forms andobjects, for example a car, art, clothing, furniture, or other objects.Depending on the design characteristics of such objects, the dynamicdesign service may identify user interface objects that can be changedto include a characteristic or design preference associated with thedesign characteristics of such objects.

The dynamic design service can analyze the sensor data, including thefurniture, and identify that the furniture has soft, round edges. Thedynamic design service can then use this design preference and create anassociation between the soft, round edges identified from the furniturein the sensor data with user interface elements (e.g., an applicationwindow) that can be modified to include soft, round edges, for example.Many different types of objects can be analyzed in sensor data, forexample the shape or color of a vehicle, the color scheme of a room, andthe shape of furniture and other objects in the sensor data. Further,sensor data can be data relating to Internet activity, for examplepurchased furniture, clothing, or other consumer goods. In someembodiments, the dynamic design service can analyze such sensor data(e.g., sensor data obtained from Internet activity) and identify designpreferences based on that sensor data. The dynamic design service canidentify relationships between objects identified in the sensor data.For example, the dynamic design service can identify a consumer item,for example a designer dress, and can identify design preferences basedon other user profiles where the user associated with the user profilepurchased a similar or identical designer dress.

In some embodiments, the dynamic design service 106/318 is configured togenerate or analyze a user profile using artificial intelligence (AI) ormachine learning (ML) technology. The sensor data may be analyzed byAI/ML, and the AI/ML may parameterize or vectorize the detectedinformation in the sensor data, for example. The AI/ML may apply theparameterized data through a model or other programming construct, andmay take output relating to parameterized data and create a user profileor user preferences that may be stored in a user profile. In someembodiments, the AI/ML logic may be part of the dynamic design service,and in other embodiments, the AI/ML logic may be its own separate,logical unit.

At step 708, the dynamic design service (e.g., dynamic design service106) may create or update the user profile that corresponds to, or isassociated with, the user of the user device (e.g., user device 102).For example, the dynamic design service can update a user profile storedin a database (e.g., user profile database 108). As other example, thedynamic design service can execute on the user device and update a userprofile stored in memory local to the user device. In still otherembodiments, the user profile is stored in a memory local to a server(e.g., server device 104), and the user profile stored in local memoryon the server is updated by the dynamic design service. In someembodiments, the user profile is updated based on the sensor data,including the design pattern(s) identified in the sensor data.

At step 710, the server (e.g., server device 104) receives an updateduser profile or user profile data indicative of one or more designpreferences or design elements. In this example, the server obtains themost updated version of the user profile or profile data from a database(e.g., user profile database 108). In other embodiments, the servermaintains the data that is used to update the user profile, such thatthe server does not need to wait to receive the updated user profile, oralternatively receive confirmation that the user profile stored in thedatabase has been updated. In an alternative embodiment, the user devicereceives the updated user profile or profile data. In such anembodiment, the dynamic design service (e.g., dynamic design service106) executes on the user device, rather than on the server device. Insome embodiments, the user profile may include subprofiles, for examplea work profile and a home profile. There also may be other types ofsubprofiles, including a weekend profile and a dynamic profile (e.g., alimited or experimental profile). For dynamic profiles, some embodimentsmay allow a user to experiment with different possible dynamic userinterface elements by submitting image data and presenting a temporaryuser interface, where a user can either accept the changes displayed inthe temporary user interface, or reject the changes displayed in thetemporary user interface. Further, a subprofile may contain otherinformation, including date and time related information. For example,the dynamic design service may present a different user interface on aMonday (e.g., the beginning of a work week), and a different userinterface on a Friday (e.g., the end of the work week). As anotherexample, on or near holidays, the dynamic design service may change userinterface elements consistent with design preferences associated with aholiday. For example, near St. Patrick's day, the user interface mayinclude green-colored elements.

At step 712, the server (e.g., server device 104) identifies userinterface element(s) to update based on the updated user profile thatwas previously determined or received by the server. In someembodiments, the dynamic design service logic on server device 104contains logic to identify user interface element(s) to modify based onthe updated user profile. In other embodiments, the dynamic designservice logic executes on user device 102, and contains logic foridentifying user interface element(s) to modify based on the updateduser profile. As an example, the dynamic design service identifies thetype of font used in an e-mail application, and based on the updateduser profile, the dynamic design service changes the type of font usedin the e-mail application to a different font. This example is furthershown for example in FIGS. 4A and 4B. A person of ordinary skill in theart would appreciate that the dynamic design service could dynamicallychange other user interface elements, including changing other userinterface elements based on the application running on the user device.

At step 714, the identified user interface elements are modified. Forexample, the dynamic design service identifies the type of font used inan e-mail application, and based on the updated user profile, thedynamic design service changes the type of font used in the e-mailapplication to a different font. In some embodiments, the type of fontmay be dynamically determined, and thus may not necessarily include achange from a prior or a predetermined font. This example is furthershown for example in FIGS. 4A and 4B. In other embodiments, the dynamicdesign interface can communicate with the application running on theuser device to cause a change in the display of user interface elements.In some embodiments, for example where a user creates a new account, thedynamic design service may apply default user interface elements, and insome embodiments, the user may select a pre-defined user profile withdefined design preferences. The pre-defined user profile may be used tocreate a dynamic user interface before the user profile is updated withdata (e.g., image data) obtained from a source.

At step 716, the modified user interface elements are displayed on thescreen of the user device (e.g., user device 102). The displayedmodified user interface elements can be for example a change in font, asshown in FIGS. 4A and 4B, or a change in the appearance of windowscorresponding to one or more applications running on the device, asshown in FIGS. 5A and 5B.

FIG. 8 shows a user registration and dynamic user interface modificationprocess according to an embodiment of the present disclosure. Userdevice 102 can be used to perform certain steps of the process shown,and server device 104 can be used to perform other certain steps of theprocess shown, for example.

At step 810, a user, through the user device, registers with the dynamicdesign service (e.g., dynamic design service 106). In some embodiments,the user device is in communication with a server (e.g., server device104) and transmits user information to the server for purposes ofregistering the user to become eligible for the dynamic design service.In other embodiments, dynamic design service logic is installed on theuser device in a manner such that registration is not required.

At step 820, a user profile is created. In some embodiments, the userprofile, which is also referred to herein as a user design profile,stores various attributes relating to the design preferences of a user.For example, the attributes associated with the user profile can relateto a type of font that the user prefers, or a window shape that the userlikes and prefers, or more generally to a user's style or personality ormood that may be invoked in one or more design elements and combinationsof design elements. In some embodiments, the dynamic design service(e.g., dynamic design service 106) has access to the user profile, andcan further modify the user profile based on additional data receivedfrom a user device (e.g., user device 102).

At step 830, the user profile (or user design profile) is linked with aregistered user. In some embodiments, the registered user is the user ofuser device 102.

At step 840, dynamic design operations can be performed. In someembodiments, the dynamic design operations are performed in a mannerconsistent with the process shown in FIG. 7. In other embodiments, thedynamic design operations are performed by a dynamic design service(e.g., dynamic design service 106). As discussed above, the dynamicdesign service logic may be stored on a user device (e.g., user device102), or on a server (e.g., server device 104). In the embodiment shownin FIG. 8, when a user profile has been created, the dynamic designservice can modify a user interface element that is to be displayed inthe user interface of a user device (e.g., user device 102).

FIG. 9 shows a sensor data collection and dynamic user interfacemodification process 900 according to an embodiment of the presentdisclosure. User device 102 can be used to perform certain steps of theprocess shown in FIG. 9, and server device 104 can be used to performother certain steps of the process shown, for example.

At step 910, a device receives sensor data. In some embodiments, a userdevice (e.g., user device 102) receives the sensor data, and in otherembodiments, the server (e.g., server device 104) receives the sensordata. The sensor data can include for example data relating to media,such as a photograph or video. The sensor data can be obtained fromsensors and/or a camera subsystem (e.g., camera subsystem 220). In someembodiments, the sensor data is obtained from sensors that are a part ofuser device 102, and in other embodiments, user device 102 receives thesensor data via a transmission to user device 102. In still otherembodiments, server device 104 receives the sensor data via atransmission to server device 104.

At step 920, design pattern(s) in the sensor data are identified. Insome embodiments, the dynamic design service (e.g., dynamic designservice 106) analyzes the sensor data to identify design pattern(s) inthe sensor data. The design patterns can include for example a type offont or a shape of an object found in the sensor data, for example whenthe sensor data includes a photograph or video. In some embodiments, thedynamic design service is located on a user device (e.g., user device102). In other embodiments, the dynamic design service is located on aserver device (e.g., server device 104). A person of ordinary skill inthe art would appreciate that the design patterns can be identified indifferent ways. For example, the dynamic device service could use aprobability-based method for scoring one or more design patternsidentified in the data and updating the user profile based on theprofile data of the user profile is updated based on one or moreprobability deterministic scores before the processor receives the userprofile, the probability deterministic scores relating to the one ormore user preferences.

At step 930, the sensor data, including the design pattern(s) identifiedin the sensor data, is associated with a user profile (or user designprofile). In some embodiments, the sensor data is obtained from alocation associated with a user of a user device (e.g., user device102), such that a relationship between the sensor data source and theuser of the user device is known. In other embodiments, the dynamicdesign service logic executes on a server device (e.g., server device104), and the user device (e.g., user device 102) in communication withthe server device transmits the sensor data and a user device identifierto the server device. The user device identifier can for example be usedto associate the design pattern(s) in the sensor data with a userprofile. In other embodiments, if no user profile is found that isassociated with a user of the user device, then dynamic design servicelogic requests creation of a new user profile (or new user designprofile) that can be used to store attributes relating to the designpattern(s) found in the sensor data.

At step 940, a user profile (or user design profile) is updated. In someembodiments, the user profile is updated based on the identified designpattern(s) found in the sensor data. In other embodiments, once the userprofile is updated, the dynamic design service (e.g., dynamic designservice 106) performs logic for dynamically changing a user interfaceelement for an application running on a user device (e.g., user device102) based on the updated user profile.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example and notlimitation. Various changes in form and detail can be made thereinwithout departing from the spirit and scope. For example, other stepsmay be provided or steps may be eliminated from the described flows, andother components may be added to or removed from the described systems.Accordingly, other implementations are within the scope of the followingclaims.

In addition, it should be understood that any figures which highlightthe functionality and advantages are presented for example purposesonly. The disclosed methodology and system are each sufficientlyflexible and configurable such that they may be utilized in ways otherthan that shown.

What is claimed is:
 1. A non-transitory computer readable medium of amobile device having stored thereon software instructions that, whenexecuted by a processor of the mobile device, cause the processor toperform processing comprising: receiving image data relating to one ormore inanimate physical objects, the image data generated by an imagecapturing device of the mobile device, the image data comprising one ormore images including the one or more inanimate physical objects;analyzing the image data to identify the one or more inanimate physicalobjects in the image data and one or more physical characteristicsrelating to the one or more identified inanimate physical objects,wherein the analyzing the image data further comprises using a machinelearning technique, and wherein the one or more physical characteristicscomprise one or more of a color, a shape, or a font based on theanalyzing the image data using the machine learning technique,identifying design preference data indicating one or more designpreferences, wherein the one or more design preferences are indicativeof one or more aesthetic configurations of a user interface element ofan application running on the mobile device, wherein the one or moredesign preferences are based on the identified one or more physicalcharacteristics; identifying one or more user interface elementscorresponding to an application running on the mobile device, the one ormore user interface elements having at least one parameter that ismodifiable based on the design preference data; modifying, based on thedesign preference data and the one or more of the color, the shape orfont, the at least one parameter of the one or more user interfaceelements, the modifying including effecting an aesthetic change of theone or more user interface elements, wherein the aesthetic changeincludes changing at least one of a color of the one or more userinterface elements, a shape of the one or more user interface elementsor font of the one or more user interface elements to at least one of anew color, a new shape, or new font, respectively; displaying the one ormore user interface elements with the at least one of the new shape, thenew shape or the new font; storing the design preference data indicatingthe one or more design preferences; comparing the one or more physicalcharacteristics relating to the one or more identified inanimatephysical objects to one or more physical characteristics of a pluralityof stored inanimate physical objects to identify a match, wherein theone or more physical characteristics of the plurality of storedinanimate physical objects comprise one or more of a color, a shape, anda font; based on identifying the match, modifying the stored designpreference data with new design preference data indicating one or morenew design preferences based on the one or more physical characteristicsof the plurality of stored inanimate physical objects.
 2. Thenon-transitory computer readable medium of claim 1, wherein the one ormore user interface elements comprises an application window having afirst shape, and the one or more design preferences indicate a secondshape different than the first shape, and wherein the aesthetic changerelates to displaying the application window having the second shape inplace of the first shape.
 3. The non-transitory computer readable mediumof claim 1, wherein the one or more user interface elements comprisestext having a first font, and the one or more design preferencesindicate a second font different than the first font, and wherein theaesthetic change relates to displaying the second font in place of thefirst font.
 4. The non-transitory computer readable medium of claim 3,wherein the text further comprises a first size, and wherein theaesthetic change further relates to displaying the second font in asecond size different from the first size.
 5. The non-transitorycomputer readable medium of claim 1, wherein the one or more userinterface elements comprises text having a first color, and the one ormore design preferences indicate a second color different than the firstcolor, and wherein the aesthetic change relates to displaying the secondcolor in place of the first color.
 6. The non-transitory computerreadable medium of claim 1, wherein the one or more user interfaceelements comprises an application view having a first color, and the oneor more design preferences indicate a second color different than thefirst color, and wherein the aesthetic change relates to displaying theapplication view having the second color in place of the first color. 7.The non-transitory computer readable medium of claim 3, wherein theapplication is a mail application.
 8. A method for dynamically changingone or more user interface elements on a mobile device comprising:receiving image data relating to one or more inanimate physical objects,the image data generated by an image capturing device of the mobiledevice, the image data comprising one or more images including the oneor more inanimate physical objects; analyzing the image data to identifythe one or more inanimate physical objects in the image data and one ormore physical characteristics relating to the one or more identifiedinanimate physical objects, wherein the analyzing the image data furthercomprises using a machine learning technique, and wherein the one ormore physical characteristics comprise one or more of a color, a shape,or a font; based on the analyzing the image data, identifying designpreference data indicating one or more design preferences, wherein theone or more design preferences are indicative of one or more aestheticconfigurations of a user interface element of an application running onthe mobile device, wherein the design preference data is based on theidentified one or more physical characteristics; identifying one or moreuser interface elements corresponding to an application running on themobile device, the one or more user interface elements having at leastone parameter that is modifiable based on the design preference data;and modifying, based on the design preference data and the one or moreof the color, the shape or the font, the at least one parameter of theone or more user interface elements, the modifying including effectingan aesthetic change of the one or more user interface elements, whereinthe aesthetic change includes changing at least one of a color of theone or more user interface elements, a shape of the one or more userinterface elements, or a font of the one or more user interface elementsto at least one of a new color, a new shape, or a new font; displayingthe one or more user interface elements with the at least one of the newcolor, the new shape, or the new font; storing the design preferencedata indicating the one or more design preferences; comparing the one ormore physical characteristics relating to the one or more identifiedinanimate physical objects to one or more physical characteristics of aplurality of stored inanimate physical objects to identify a match,wherein the one or more physical characteristics of the plurality ofstored inanimate physical objects comprise one or more of a color, ashape, and a font; based on identifying the match, modifying the storeddesign preference data with new design preference data indicating one ormore new design preferences based on the one or more physicalcharacteristics of the plurality of stored inanimate physical objects.9. The method of claim 8 wherein the one or more user interface elementscomprises an application window having a first shape, and the one ormore design preferences indicate a second shape different than the firstshape, and wherein the aesthetic change relates to displaying theapplication window having the second shape in place of the first shape.10. The method of claim 8, wherein the one or more user interfaceelements comprises text having a first font, and the one or more designpreferences indicate a second font different than the first font, andwherein the aesthetic change relates to displaying the second font inplace of the first font.
 11. The method of claim 10, wherein the textfurther comprises a first size, and wherein the aesthetic change furtherrelates to displaying the second font in a second size different fromthe first size.
 12. The method of claim 8, wherein the one or more userinterface elements comprises text having a first color, and the one ormore design preferences indicate a second color different than the firstcolor, and wherein the aesthetic change relates to displaying the secondcolor in place of the first color.
 13. The method of claim 8, whereinthe one or more user interface elements comprises an application viewhaving a first color, and the one or more design preferences indicate asecond color different than the first color, and wherein the aestheticchange relates to displaying the application view having the secondcolor in place of the first color.
 14. The method of claim 8, whereinthe analyzing the image data is performed by the mobile device.
 15. Asystem, comprising: a mobile device, the mobile device configured to:receive image data relating to one or more inanimate physical objects,the image data generated by an image capturing device of the mobiledevice, the image data comprising one or more images including the oneor more inanimate physical objects; and transmit the image data to aserver; and the server configured to: analyze the image data to identifythe one or more inanimate physical objects in the image data and one ormore physical characteristics relating to the one or more identifiedinanimate physical objects, wherein the analyzing the image data furthercomprises using a machine learning technique, and wherein the one ormore physical characteristics comprise one or more of a color, a shape,or a font; based on the analyzing the image data using the machinelearning technique, identify design preference data indicating one ormore design preferences, wherein the one or more design preferences areindicative of one or more aesthetic configurations of a user interfaceelement of an application running on the mobile device, wherein the oneor more design preferences are based on the identified one or morephysical characteristics, wherein the mobile device is furtherconfigured to: identify one or more user interface elementscorresponding to an application running on the mobile device, the one ormore user interface elements having at least one parameter that ismodifiable based on the design preference data; modify, based on thedesign preference data and the one or more of the color, the shape andthe font, the at least one parameter of the one or more user interfaceelements, the modifying including effecting an aesthetic change of theone or more user interface elements, wherein the aesthetic changeincludes changing at least one of a color of the one or more userinterface elements, a shape of the one or more user interface elementsor font of the one or more user interface elements to at least one of anew color, a new shape, and a new font, respectively; display the one ormore user interface elements with the at least one of the new shape, thenew shape or the new font; and store the design preference dataindicating the one or more design preferences, wherein the server isfurther configured to compare the one or more physical characteristicsrelating to the one or more identified inanimate physical objects to oneor more physical characteristics of a plurality of stored inanimatephysical objects to identify a match, wherein the one or more physicalcharacteristics of the plurality of stored inanimate physical objectscomprise one or more of a color, a shape, or a font, and wherein themobile device is further configured to, based on identifying the match,modify the stored design preference data with new design preference dataindicating one or more new design preferences based on the one or morephysical characteristics of the plurality of stored inanimate physicalobjects.
 16. The system of claim 15, wherein the one or more userinterface elements comprises an application window having a first shape,and the one or more design preferences indicate a second shape differentthan the first shape, and wherein the aesthetic change relates todisplaying the application window having the second shape in place ofthe first shape.
 17. The system of claim 15, wherein the one or moreuser interface elements comprises text having a first font, and the oneor more design preferences indicate a second font different than thefirst font, and wherein the aesthetic change relates to displaying thesecond font in place of the first font.
 18. The system of claim 17,wherein the text further comprises a first size, and wherein theaesthetic change further relates to displaying the second font in asecond size different from the first size.
 19. The system of claim 15,wherein the one or more user interface elements comprises text having afirst color, and the one or more design preferences indicate a secondcolor different than the first color, and wherein the aesthetic changerelates to displaying the second color in place of the first color. 20.The system of claim 15, wherein the one or more user interface elementscomprises an application view having a first color, and the one or moredesign preferences indicate a second color different than the firstcolor, and wherein the aesthetic change relates to displaying theapplication view having the second color in place of the first color.